# 用户管理
# 通过检查配置文件，或命令结果判断学生是否完成了要求的步骤

import sys
import os

# 输出实验内容的第一部分
print('在完成本实验时，请打开两个终端，一个运行本程序，另一个用于完成实验内容。以下是实验要求：\n')
print(r'''以下为本实验的第一部分：
1. 添加一个用户“liubei”，添加新组“yunweibu”和“wangluobu”
2. 添加用户“guanyu”，将组“yunweibu”设置为其附加组，将组“wangluobu”设置为其主组
3. 改变用户“liubei”的主组为“wangluobu”。
4. 将用户“liubei”加入组“yunweibu”。
5. 为用户用户“liubei”设置密码
6. 锁定用户“liubei”

7. 删除组“yunweibu”和“wangluobu”，查看并记录结果。
8. 删除用户“liubei”和“guanyu”
9. 创建安全用户“zhangfei”
''')

# 使用字典表示每个步骤正确与否
d1 = [x for x in range(1, 7)]
d2 = [False] * 6
result = dict(zip(d1, d2))

'''
1. 添加一个用户“liubei”，添加新组“yunweibu”和“wangluobu”(passwd中有包含 liubei 的行，group文件中有包含liubei、yunweibu和wangluobu的行)
2. 添加用户“guanyu”，将组“yunweibu”设置为其附加组，将组“wangluobu”设置为其主组（使用命令 id guanyu，可以看到其组为 wangluobu ，yunweibu）
3. 改变用户“liubei”的主组为“wangluobu”。（使用命令 id liubei，组属性中wangluobu、yunweibu）
4. 将用户“liubei”加入组“yunweibu”。
5. 为用户用户“liubei”设置密码（shadow中包含刘备的行中第二个字段不是 !! ,而且密码长度似乎是86个字符）
6. 锁定用户“liubei”（shadow中包含liubei的行中的第二个字段以 !! 开头，后面为密码内容）
'''



# 接收用户选择并进行判断
choice = input("是否要开始测试？Y/N")
if choice == 'Y' or choice == 'y':
    print('请启动另一个终端，开始完成实验中的每一个步骤')
    # 清理历史记录文件

    endString=input('完成第一部分后请输入 end：')
    if(endString == 'end'):
        detectTest()
        print('你的实验结果是：')
        for key,value in result.items():
            print("第",key,"步：",'正确' if value else '错误')
else:
    print('退出程序')
    sys.exit()